home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 8: LINUX Games
/
Linux Cubed Series 8 - LINUX Games.iso
/
games
/
doom
/
udoom-1.1
/
udoom-1
/
udoom.pat
< prev
Wrap
Text File
|
1995-07-31
|
8KB
|
344 lines
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#
# The Ultimate LinuxDOOM Patch
#
# for X-DOOM & SVGA-DOOM, version 1.8
#
#
# version 1.1 (final release)
#
#
# Steffen Winterfeldt (wfeldt@tph100.physik.uni-leipzig.de)
#
# last modified: Sat Jul 29 1995, 12:47
#
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@xdoom
-c
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#+ +
#+ The Ultimate LinuxDOOM Patch +
#+ +
#+ for X-DOOM, version 1.8 +
#+ +
#+ +
#+ version 1.1 (final release) +
#+ +
#+ +
#+ Steffen Winterfeldt (wfeldt@tph100.physik.uni-leipzig.de) +
#+ +
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-q -C
# name of the file to patch
-f xdoom
# some variables
{
:2b200 v0
:3e8f0 v40
:5fba0 v50
:4f668 v51
:4d52c v52
:5fbbc v53
:3c880 v54
:5fba0 v55
:49df0 v56
:fc554 v57
:fc5e8 v58
}
-n@common
@sdoom
-c
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#+ +
#+ The Ultimate LinuxDOOM Patch +
#+ +
#+ for SVGA-DOOM, version 1.8 +
#+ +
#+ +
#+ version 1.1 (final release) +
#+ +
#+ +
#+ Steffen Winterfeldt (wfeldt@tph100.physik.uni-leipzig.de) +
#+ +
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-q -C
# name of the file to patch
-f sdoom
# some variables
{
:2a400 v0
:3d8f0 v40
:5e720 v50
:4e630 v51
:4c4f4 v52
:5e73c v53
:3b880 v54
:5e720 v55
:48db8 v56
:7b0b8 v57
:7b0e8 v58
}
-n@common
@common # relevant to both sdoom & xdoom
-m 3 # 3 passes
:0x400 o # header
# build up a new menu to replace the episode selection menu
-p v54 w4 # 4 entries
-p v54+8 wv1 # table begin
# extend array with level names
-p v40 wv41 wv42 wv43 wv44 wv45 wv46 wv47 wv48 wv49
-p0x00000
# very tricky! see code at label 200-250
# changes appearance of summary screen
=22af4 3 # cmpl $>>0x3<<,%eax
=22c36 3 # cmpl $>>0x3<<,(%eax)
=22044 {
e9 Jv100 # jmp v100
:$ v10
}
# play demos of versions >=1.4
=07682 104 0x73
# demo mode is quite different
=02590 w0x268c # play demo4
=024f9 {
'demo4' 0 # 'demo4', 0
=0265c
83 3d wv50 0 # cmpl $0x0,v50 ; 0x5fba0, 0x5e720
74 j26ac # je 0x26ac
c7 05 wv51 w3 # movl $0x3,v51 ; 0x4f668, 0x4e630
=268c
83 3d wv50 0 # cmpl $0x0,v50 ; 0x5fba0, 0x5e720
75 j26ac # jne 0x26ac
68 w24f9 # pushl 0x24f9
eb j26b1 # jmp 0x26b1
}
# the sky texture
=07303 {
'SKY4' 0 # 'SKY4', 0
=07331
68 w7303 # pushl $0x7303
eb j7361 # jmp 0x7361
}
# let idclev work up to episode 4
=23c40 3
# start a new level
=07168 4 # max episode
=0716c w4 # dto.
# the episode-end-screen
=00ffa {
7f j1003 # jg 0x1003
=01003
83 f8 4 # cmpl $0x4,%eax
72 j1060 # jb 0x1060
77 j1076 # ja 0x1076
c7 05 wv52 w1032 # movl $0x1032,v52 ; 0x4d52c, 0x4c4f4
0ba wv2 # $v2,%edx ; 0x2b300, 0x2a500
eb j1070 # jmp 0x1070
=01032
'MFLR8_3' 0 # ressource for 4th episode end screen
}
# implement the assignment of end-screens
=01e62 4 # cmpl $>>0x4<<,%eax
=01e63 0x72 # >>jb<< 0x1ea0
=01e65 {
77 j1e51 # ja 0x1e51
6a 65 # pushl $0x65
68 w1e99 # pushl $0x1e99 ; 4th episode
eb j1e77 # jmp 0x1e77
=01e73 w24ec # pushl $>>0x24ec<< ; 1st episode
=01e99 # create some new data...
'ENDPIC' 0 # 'ENDPIC', 0
}
# the new secret level
=06951 {
c6 5 wv53 2 # movb $0x2,v53 ; 0x5fbbc, 0x5e73c
eb j6998 # jmp 0x6998
}
# killing the spider demon in e4m8 should lower sector 666
=0ec97 0x7b # >>jnp<< 0xecb0
# go to next (new) level
=22af4 3 # cmpl $>>0x3<<,%eax
# no background music at all
# =265b0 0xc3
# test music numbers
# =265c2 0
# background music
=26ee0 {
e9 Jv300 # jmp v300
:$ v30
}
# startup message
=02ee0 'The Ultimate LinuxDOOM Startup v%i.%i'
# some data
-p v0
# the episode selection menu
:$ v1 {
s1 'M_EPI1' w0 w859c w6b
s1 'M_EPI2' w0 w859c w74
s1 'M_EPI3' w0 w859c w69
s1 'M_EPI4' w0 w859c w74
}
# message appearing after episode 4
:$ v2
'the spider mastermind must have sent forth
its legions of hellspawn before your
final confrontation with that terrible
beast from hell. but you stepped forward
and brought forth eternal damnation and
suffering upon the horde as a true hero
would in the face of something so evil.
besides, someone was gonna pay for what
happened to daisy, your pet rabbit.
but now, you see spread before you more
potential pain and gibbitude as a nation
of demons run amok among our cities.
next stop, hell on earth!' 0
# the new level names
:$ v41 'E4M1: Hell Beneath' 0
:$ v42 'E4M2: Perfect Hatred' 0
:$ v43 'E4M3: Sever The Wicked' 0
:$ v44 'E4M4: Unruly Evil' 0
:$ v45 'E4M5: They Will Repent' 0
:$ v46 'E4M6: Against Thee Wickedly' 0
:$ v47 'E4M7: And Hell Followed' 0
:$ v48 'E4M8: Unto The Cruel' 0
:$ v49 'E4M9: Fear' 0
# remap background music for episode 4
:$ v300 {
a1 wv57 # movl v57,%eax ; episode
83 f8 4 # cmpl $0x4,%eax
0f 85 Jv30 # jnz v30
a1 wv58 # movl v58,%eax ; level
8a 80 wv310-1 # mov v310-1(%eax),%al
e9 J26eef # jmp 0x26eef
}
:$ v310 22 20 21 5 16 13 15 14 9
# change appearance of summary screen for episode 4
:$ v100 {
83 f8 3 # cmpl $0x3,%eax
75 jv110 # jnz v110
68 wv190 # pushl $v190
eb jv120 # jmp v120
:$ v110
68 w21f1e # pushl $0x21f1e
:$ v120
e9 Jv10 # jmp v10
}
:$ v190 'INTERPIC' 0
# dto.
{
:$ v200
0f 85 J20693 # jnz 0x20693
a1 wv56 # movl v56,%eax
83 38 3 # cmpl $0x3,(%eax)
0f 84 J20693 # jz 0x20693
e9 Jv20 # jmp v20
:$ v210
0f 85 J207b4 # jnz 0x207b4
a1 wv56 # movl v56,%eax ; 0x49df0, 0x48db8
83 38 3 # cmpl $0x3,(%eax)
0f 84 J207b4 # jz 0x207b4
e9 Jv21 # jmp v21
:$ v220
a1 wv56 # movl v56,%eax
83 38 3 # cmpl $0x3,(%eax)
0f 84 J20830 # jz 0x20830
83 3d wv55 0 # cmpl $0x0,v55 ; 0x5fba0, 0x5e720
e9 Jv22 # jmp v22
:$ v230
a1 wv56 # movl v56,%eax
83 38 3 # cmpl $0x3,(%eax)
0f 84 J221f8 # jz 0x221f8
92 # xchgl %eax,%edx
e9 Jv23 # jmp v23
:$ v240
a1 wv56 # movl v56,%eax
83 38 3 # cmpl $0x3,(%eax)
0f 84 J22689 # jz 0x22689
92 # xchgl %eax,%edx
e9 Jv24 # jmp v24
:$ v250
a1 wv56 # movl v56,%eax
83 38 3 # cmpl $0x3,(%eax)
0f 84 J205cb # jz 0x205cb
e9 Jv25 # jmp v25
}
# dto.
{
-p205ec
e9 Jv200 # jmp v200
90 # nop
:$ v20
-p206bc
e9 Jv210 # jmp v210
90 # nop
:$ v21
-p207d1
e9 Jv220 # jmp v220
90 90 # nop*2
:$ v22
-p2215a
e9 Jv230 # jmp v230
90 # nop
:$ v23
-p225b7
e9 Jv240 # jmp v240
90 # nop
:$ v24
-p204f7
e9 Jv250 # jmp v250
:$ v25
}